The present disclosure relates to computing systems, and, in particular, to evaluating the compatibility of a computer program for execution in target data processing environments.
Computer programs written for a particular data processing hardware architecture may nevertheless fail to execute correctly or even execute at all due to variations in the way the hardware is configured. Data processing systems may be configured with a variety of different data processing facilities. These data processing facilities may include additional hardware, such as a co-processor, or different firmware versions, for example. As shown in FIG. 1, a computer program may be written in a high-level language and then processed using a compiler and/or assembler to generate the executable object code to run on various data processing systems 110, 120, and 130. While the data processing systems 110, 120, and 130 may have a common general architecture, they may nevertheless be configured with different data processing facilities. In FIG. 1, data processing systems 110 and 130 both include data processing facility 1, but data processing system 130 further includes data processing facility 2. Data processing system 120 does not include either of data processing facilities 1 and 2, but instead includes data processing facility 3. Compilers and/or assemblers may sometimes include options for generating the executable object code based on the particular data processing facility/facilities associated with a target execution data processing system, but this may not always be the case resulting in booting errors, run time execution errors, and the like when the executable object code is not compatible with the particular data processing facility/facilities installed on the target data processing system.